# #!/usr/bin/env python
# # -*- encoding: utf-8 -*-
# '''
# @File    :   Test_PcanSignal.py
# @Time    :   2024/05/17 13:31:28
# @Author  :   YangLiang 
# @Version :   1.0
# @Contact :   yangliang@chengtech.com
# @License :   (C)Copyright 2022-2025
# @Desc    :   None
# '''

# # here put the import lib
# from pickle import FALSE, TRUE
# from pytest_assume.plugin import assume
 
# import pytest
# import time
# import requests
# from sympy import I
# # from sympy import assuming
# from commDriver.TS_CAN import *
# import allure
# import sys
# from collections.abc import Iterable

# from sqlalchemy import false
# sys.dont_write_bytecode = True

# import project_CAN
# import Set_up


# Fault_Injection_DTC_List = [# ([0xAC, 0xE8, 0x76], 'SensorBlindnessDet'),
#                             # ([0xAC, 0xE9, 0x76], 'SensorBlindnessDet'),
#                             # ([0xAC, 0xE6, 0x55], 'VariantCodeDet'),
#                             # ([0xAC, 0xD1, 0x78], 'AlignmentNeverDone'),
#                             # ([0xAC, 0xD2, 0x78], 'AlignmentNotDone'),
#                             # ([0xAC, 0xEA, 0x94], 'VerticalMisaligment'),
#                             # ([0xAC, 0xEB, 0x94], 'HorizontalMisaligment'),
#                             ([0xAC, 0xD4, 0x88], 'FactoryDataFail'),
#                             ([0xAC, 0xD9, 0x17], 'Rd3_3OV'),
#                             ([0xAC, 0xDB, 0x16], 'Rd3_3UV'),
#                             ([0xAC, 0xDE, 0x00], 'RadarModulation'),
#                             ([0xAC, 0xE1, 0x52], 'SwTempFail'),
#                             ([0xAC, 0xE2, 0x4B], 'MasterRdTemp'),  # PASS与FAIL状态不是0与-1.需要输入具体数值
#                             ([0xAC, 0xED, 0x00], 'AntDiagram'),
#                             ([0xAC, 0xD6, 0x40], 'Watchdog'),                #内部电源管理系统故障 new
#                             ([0xAC, 0xD8, 0x04], 'internalHw'),                #内部硬件故障 new
#                             ([0xAC, 0xDD, 0x00], 'radarModCfg'),                #雷达调制配置故障 new
#                             ([0xAC, 0xDF, 0x52], 'swFail'),                #软件故障 new
#                             ([0xAC, 0xE0, 0x00], 'basebandFail'),                #雷达前端数据处理故障 new
#                             ]


# class Test_PcanSignal(object):

#     @allure.severity('normal')
#     @allure.title('Test Read MRR SensorDirty From64E in default session with physical addressing')
#     @allure.description('Test Read MRR SensorDirty From64E in default session with physical addressing')
#     def test_Read_MRR_SensorDirty_From64E_phy(self, action, Driver):
#         iStep = 1
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)

#         respData,protocol = self.read_Data_from64E_80(Driver)
#         if protocol == 0:
#             MRR_SensorDirty = respData[3] & 0x01
#         else:
#             MRR_SensorDirty = respData[5] & 0x01
#         logging.info('MRR SensorDirty:[{0}]'.format(MRR_SensorDirty)) 
#         with assume: assert MRR_SensorDirty == 0

#         #产生故障
#         iStep = self.Injection_DTC(Driver, 'SensorBlindnessDet', -1, iStep, True)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData,protocol = self.read_Data_from64E_80(Driver)
#         if protocol == 0:
#             MRR_SensorDirty = respData[3] & 0x01
#         else:
#             MRR_SensorDirty = respData[5] & 0x01
#         logging.info('MRR SensorDirty:[{0}]'.format(MRR_SensorDirty)) 
#         with assume: assert MRR_SensorDirty == 1

#         #清除故障
#         iStep = self.Injection_DTC(Driver, 'SensorBlindnessDet', 0, iStep, True)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData,protocol = self.read_Data_from64E_80(Driver)
#         if protocol == 0:
#             MRR_SensorDirty = respData[3] & 0x01
#         else:
#             MRR_SensorDirty = respData[5] & 0x01
#         logging.info('MRR SensorDirty:[{0}]'.format(MRR_SensorDirty)) 
#         with assume: assert MRR_SensorDirty == 0

#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     @allure.severity('normal')
#     @allure.title('Test Read MRR Failure From64E in default session with physical addressing')
#     @allure.description('Test Read MRR Failure From64E in default session with physical addressing')
#     def test_Read_MRR_Failure_From64E_phy(self, action, Driver):
#         iStep = 1
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)

#         respData,protocol = self.read_Data_from64E_80(Driver)
#         if protocol == 0:
#             MRR_SensorDirty = (respData[3] & 0xC0 ) >> 6
#         else:
#             MRR_SensorDirty = (respData[6] & 0x70) >> 4
#         logging.info('MRR Failure:[{0}]'.format(MRR_SensorDirty)) 
#         with assume: assert MRR_SensorDirty == 2

#         #产生故障
#         iStep = self.Injection_DTC(Driver, 'AlignmentNotDone', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData,protocol = self.read_Data_from64E_80(Driver)
#         if protocol == 0:
#             MRR_SensorDirty = (respData[3] & 0xC0 ) >> 6
#         else:
#             MRR_SensorDirty = (respData[6] & 0x70) >> 4
#         logging.info('MRR Failure:[{0}]'.format(MRR_SensorDirty)) 
#         with assume: assert MRR_SensorDirty == 2

#         #清除故障
#         iStep = self.Injection_DTC(Driver, 'AlignmentNotDone', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData,protocol = self.read_Data_from64E_80(Driver)
#         if protocol == 0:
#             MRR_SensorDirty = (respData[3] & 0xC0 ) >> 6
#         else:
#             MRR_SensorDirty = (respData[6] & 0x70) >> 4
#         logging.info('MRR Failure:[{0}]'.format(MRR_SensorDirty)) 
#         with assume: assert MRR_SensorDirty == 0

#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     ids = ["Request {0}".format(binascii.b2a_hex(bytearray(req), ' '), dtcName ) for req, dtcName in Fault_Injection_DTC_List]
#     @allure.severity('normal')
#     @allure.title('Test Read MRR SGUFail From64E in default session with physical addressing')
#     @allure.description('Test Read MRR SGUFail From64E in default session with physical addressing')
#     @pytest.mark.parametrize('req,dtcName', Fault_Injection_DTC_List, ids=ids)
#     def test_Read_MRR_SGUFail_From64E_phy(self, action, Driver, req, dtcName):
#         iStep = 1
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)

#         respData,protocol = self.read_Data_from64E_80(Driver)
#         if protocol == 0:
#             MRR_SensorDirty = (respData[3] & 0x0E) >> 1
#         else:
#             MRR_SensorDirty = (respData[6] & 0x80) >> 7
        
#         logging.info('MRR SGUFail:[{0}]'.format(MRR_SensorDirty)) 
#         with assume: assert MRR_SensorDirty == 0

#         #产生故障
#         iStep = self.Injection_DTC(Driver, dtcName, -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData,protocol = self.read_Data_from64E_80(Driver)
#         if protocol == 0:
#             MRR_SensorDirty = (respData[3] & 0x0E) >> 1
#         else:
#             MRR_SensorDirty = (respData[6] & 0x80) >> 7
#         logging.info('MRR SGUFail:[{0}]'.format(MRR_SensorDirty)) 
#         with assume: assert MRR_SensorDirty == 1

#         #清除故障
#         iStep = self.Injection_DTC(Driver, dtcName, 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData,protocol = self.read_Data_from64E_80(Driver)
#         if protocol == 0:
#             MRR_SensorDirty = (respData[3] & 0x0E) >> 1
#         else:
#             MRR_SensorDirty = (respData[6] & 0x80) >> 7
#         logging.info('MRR SGUFail:[{0}]'.format(MRR_SensorDirty)) 
#         with assume: assert MRR_SensorDirty == 0

#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)


#     def Injection_DTC(self, Driver, dtcName, generate = -1, iStep = 1, isE976 = False):

#         iStep = Driver['CAN'].setVariantCodeDet(Driver,dtcName, generate, iStep)
#         time.sleep(0.5)
#         if (dtcName == 'SensorBlindnessDet') and (isE976 == True):
#             if generate == -1 :
#                 # 要求行驶里程大于5公里
#                 Driver['CAN'].write_db_signal('MRR', 'ADC', 'Left_BCM_0x3D9', 'Total_Distance_3D9s5_S',10)
#                 Driver['CAN'].write_db_signal('MRR', 'ADC', 'IPB_0x10C', 'Vehicle_speed', 20)
#                 Driver['CAN'].read_db_signal('MRR', 'ADC', 'IPB_0x10C', 'Vehicle_speed')
#                 time.sleep(1)
#                 Driver['CAN'].write_db_signal('MRR', 'ADC', 'Left_BCM_0x3D9', 'Total_Distance_3D9s5_S',16)
#                 time.sleep(0.5)
#             else:
#                 Driver['CAN'].write_db_signal('MRR', 'ADC', 'Left_BCM_0x3D9', 'Total_Distance_3D9s5_S',0)
#                 Driver['CAN'].write_db_signal('MRR', 'ADC', 'IPB_0x10C', 'Vehicle_speed', 0)
#                 Driver['CAN'].read_db_signal('MRR', 'ADC', 'IPB_0x10C', 'Vehicle_speed')
#         time.sleep(0.5)
#         iStep = iStep + 1

#         return iStep
        


#     def read_Data_from64E_80(self, Driver):
#         Driver['CAN'].fush_q_buff()  # 清缓存  
#         time.sleep(0.1)
#         for i in range(3):
#             ALl_data,buffer_size = Driver['CAN'].read_frame()
#             try:
#                 response_data_64E = ALl_data[ALl_data['AIdentifier'] == 0x64E]
#                 respData_64E = response_data_64E.iloc[0]['ADatas'][:16]
#                 respData =  respData_64E
#                 actuRespStr = binascii.b2a_hex(bytearray(respData), ' ') 
#                 logging.info('P_CAN responseID:[0x{0:X}], Data:[{1}]'.format(0x64E, actuRespStr))
#                 protocol = 0
#             except:
#                 response_data_80 = ALl_data[ALl_data['AIdentifier'] == 0x80]
#                 respData_80 = response_data_80.iloc[0]['ADatas'][:16]
#                 respData =  respData_80
#                 actuRespStr = binascii.b2a_hex(bytearray(respData), ' ') 
#                 logging.info('P_CAN responseID:[0x{0:X}], Data:[{1}]'.format(0x80, actuRespStr)) 
#                 protocol = 1
#             if len(respData) > 0:
#                 break
#             time.sleep(0.1)

#         return respData, protocol


# class Test_PcanSignal_5E0(object):
#     @allure.title('Test DTC ACCE17 at 0x5E0 in default session')
#     @allure.description('Test DTC ACCE17 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACCE17_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = Driver['CAN'].SetVolt(Driver, 17, 2, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x1)
#         logging.info('DTC ACCE17:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = Driver['CAN'].SetVolt(Driver, 12, 2, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x1)
#         logging.info('DTC ACCE17:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     @allure.title('Test DTC ACCF16 at 0x5E0 in default session')
#     @allure.description('Test DTC ACCF16 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACCF16_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = Driver['CAN'].SetVolt(Driver, 8, 2, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x2) >> 1
#         logging.info('DTC ACCF16:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = Driver['CAN'].SetVolt(Driver, 12, 2, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x2) >> 1
#         logging.info('DTC ACCF16:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC C07388 at 0x5E0 in default session')
#     @allure.description('Test DTC C07388 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_C07388_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x4) >> 2
#         logging.info('DTC C07388:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC C1D788 at 0x5E0 in default session')
#     @allure.description('Test DTC C1D788 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_C1D788_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#         Driver['CAN'].S_ConnectCanH_CanL(True, iStep)
#         Driver['CAN'].S_ConnectCanH_CanL(False, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x8) >> 3
#         logging.info('DTC C1D788:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     @allure.title('Test DTC ACD000 at 0x5E0 in default session')
#     @allure.description('Test DTC ACD000 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACD000_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '2E340101', '6E3401', 3, iStep, True)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x10) >> 4
#         logging.info('DTC ACD000:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '2E340100', '6E3401', 0, iStep, False)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x10) >> 4
#         logging.info('DTC ACD000:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACD178 at 0x5E0 in default session')
#     @allure.description('Test DTC ACD178 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACD178_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'AlignmentNeverDone', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x20) >> 5
#         logging.info('DTC ACD178:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'AlignmentNeverDone', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x20) >> 5
#         logging.info('DTC ACD178:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACD278 at 0x5E0 in default session')
#     @allure.description('Test DTC ACD278 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACD278_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'AlignmentNotDone', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x40) >> 6
#         logging.info('DTC ACD278:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'AlignmentNotDone', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x40) >> 6
#         logging.info('DTC ACD278:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACE655 at 0x5E0 in default session')
#     @allure.description('Test DTC ACE655 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACE655_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'VariantCodeDet', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x80) >> 7
#         logging.info('DTC ACE655:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'VariantCodeDet', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[0] & 0x80) >> 7
#         logging.info('DTC ACE655:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)


#     @allure.title('Test DTC ACE876 at 0x5E0 in default session')
#     @allure.description('Test DTC ACE876 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACE876_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'SensorBlindnessDet', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x1)
#         logging.info('DTC ACE876:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'SensorBlindnessDet', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x1)
#         logging.info('DTC ACE876:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACE976 at 0x5E0 in default session')
#     @allure.description('Test DTC ACE976 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACE976_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'SensorBlindnessDet', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x2) >> 1
#         logging.info('DTC ACE976:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'SensorBlindnessDet', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x2) >> 1
#         logging.info('DTC ACE976:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)


#     @allure.title('Test DTC ACEA94 at 0x5E0 in default session')
#     @allure.description('Test DTC ACEA94 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACEA94_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'VerticalMisaligment', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x4) >> 2
#         logging.info('DTC ACEA94:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'VerticalMisaligment', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x4) >> 2
#         logging.info('DTC ACEA94:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     @allure.title('Test DTC ACEB94 at 0x5E0 in default session')
#     @allure.description('Test DTC ACEB94 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACEB94_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'HorizontalMisaligment', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x8) >> 3
#         logging.info('DTC ACEB94:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'HorizontalMisaligment', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x8) >> 3
#         logging.info('DTC ACEB94:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACD488 at 0x5E0 in default session')
#     @allure.description('Test DTC ACD488 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACD488_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'FactoryDataFail', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x10) >> 4
#         logging.info('DTC ACD488:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'FactoryDataFail', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x10) >> 4
#         logging.info('DTC ACD488:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACD640 at 0x5E0 in default session')
#     @allure.description('Test DTC ACD640 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACD640_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'Watchdog', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x20) >> 5
#         logging.info('DTC ACD640:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'Watchdog', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x20) >> 5
#         logging.info('DTC ACD640:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACD804 at 0x5E0 in default session')
#     @allure.description('Test DTC ACD804 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACD804_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'internalHw', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x40) >> 6
#         logging.info('DTC ACD804:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'internalHw', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x40) >> 6
#         logging.info('DTC ACD804:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACD917 at 0x5E0 in default session')
#     @allure.description('Test DTC ACD917 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACD917_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'Rd3_3OV', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x80) >> 7
#         logging.info('DTC ACD917:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'Rd3_3OV', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[1] & 0x80) >> 7
#         logging.info('DTC ACD917:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.description('Test DTC ACDB16 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACDB16_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'Rd3_3UV', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x1)
#         logging.info('DTC ACDB16:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'Rd3_3UV', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x1)
#         logging.info('DTC ACDB16:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     @allure.title('Test DTC ACDD00 at 0x5E0 in default session')
#     @allure.description('Test DTC ACDD00 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACDD00_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'radarModCfg', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x2) >> 1
#         logging.info('DTC ACDD00:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'radarModCfg', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x2) >> 1
#         logging.info('DTC ACDD00:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     @allure.title('Test DTC ACDE00 at 0x5E0 in default session')
#     @allure.description('Test DTC ACDE00 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACDE00_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'RadarModulation', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x4) >> 2
#         logging.info('DTC ACDE00:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'RadarModulation', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x4) >> 2
#         logging.info('DTC ACDE00:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACDF52 at 0x5E0 in default session')
#     @allure.description('Test DTC ACDF52 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACDF52_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'swFail', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x8) >> 3
#         logging.info('DTC ACDF52:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'swFail', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x8) >> 3
#         logging.info('DTC ACDF52:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACE000 at 0x5E0 in default session')
#     @allure.description('Test DTC ACE000 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACE000_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'basebandFail', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x10) >> 4
#         logging.info('DTC ACE000:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'basebandFail', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x10) >> 4
#         logging.info('DTC ACE000:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACE152 at 0x5E0 in default session')
#     @allure.description('Test DTC ACE152 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACE152_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'SwTempFail', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x20) >> 5
#         logging.info('DTC ACE152:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'SwTempFail', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x20) >> 5
#         logging.info('DTC ACE152:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)


#     @allure.title('Test DTC ACE24B at 0x5E0 in default session')
#     @allure.description('Test DTC ACE24B at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACE24B_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'MasterRdTemp', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x40) >> 6
#         logging.info('DTC ACE24B:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'MasterRdTemp', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x40) >> 6
#         logging.info('DTC ACE24B:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACED00 at 0x5E0 in default session')
#     @allure.description('Test DTC ACED00 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACED00_in5E0_default_Phy(self,action,Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.Injection_DTC(Driver, 'AntDiagram', -1, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x80) >> 7
#         logging.info('DTC ACED00:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.Injection_DTC(Driver, 'AntDiagram', 0, iStep)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[2] & 0x80) >> 7
#         logging.info('DTC ACED00:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC C1A887 at 0x5E0 in default session')
#     @allure.description('Test DTC C1A887 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_C1A887_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.setSignalEanble(Driver,'Left_BCM_0x12D', False, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x1)
#         logging.info('DTC C1A887:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.setSignalEanble(Driver,'Left_BCM_0x12D', True, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x1)
#         logging.info('DTC C1A887:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC 5C6762 at 0x5E0 in default session')
#     @allure.description('Test DTC 5C6762 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_5C6762_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         Driver['CAN'].set_0x151_checksum_error(True)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x2) >> 1
#         logging.info('DTC 5C6762:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].set_0x151_checksum_error(False)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x2) >> 1
#         logging.info('DTC 5C6762:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC 5C6602 at 0x5E0 in default session')
#     @allure.description('Test DTC 5C6602 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_5C6602_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         Driver['CAN'].set_0x151_rolling_counter_error(True)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x4) >> 2
#         logging.info('DTC 5C6602:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].set_0x151_rolling_counter_error(False)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x4) >> 2
#         logging.info('DTC 5C6602:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC 5C6586 at 0x5E0 in default session')
#     @allure.description('Test DTC 5C6586 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_5C6586_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         Driver['CAN'].write_db_signal('MRR', 'ADC', 'Left_BCM_0x151', 'Speed_Signal_151_S', 0xFF)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x8) >> 3
#         logging.info('DTC 5C6586:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].write_db_signal('MRR', 'ADC', 'Left_BCM_0x151', 'Speed_Signal_151_S', 0x0)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x8) >> 3
#         logging.info('DTC 5C6586:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC D00304 at 0x5E0 in default session')
#     @allure.description('Test DTC D00304 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_D00304_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.setSignalEanble(Driver, 'Rear_BCM_0x218', False, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x10) >> 4
#         logging.info('DTC D00304:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.setSignalEanble(Driver, 'Rear_BCM_0x218', True, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x10) >> 4
#         logging.info('DTC D00304:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC 5C4900 at 0x5E0 in default session')
#     @allure.description('Test DTC 5C4900 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_5C4900_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         Driver['CAN'].set_0x218_checksum_error(True)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x20) >> 5
#         logging.info('DTC 5C4900:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].set_0x218_checksum_error(False)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x20) >> 5
#         logging.info('DTC 5C4900:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     @allure.title('Test DTC 5C3682 at 0x5E0 in default session')
#     @allure.description('Test DTC 5C3682 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_5C3682_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         Driver['CAN'].set_0x218_rolling_counter_error(True)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x40) >> 6
#         logging.info('DTC 5C3682:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].set_0x218_rolling_counter_error(False)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x40) >> 6
#         logging.info('DTC 5C3682:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC D17B86 at 0x5E0 in default session')
#     @allure.description('Test DTC D17B86 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_D17B86_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#         iStep = self.setSignalValue(Driver, 'Rear_BCM_0x218', 'EPB_Status_S', 4, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x80) >> 7
#         logging.info('DTC D17B86:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.setSignalValue(Driver, 'Rear_BCM_0x218', 'EPB_Status_S', 0, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[3] & 0x80) >> 7
#         logging.info('DTC D17B86:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     @allure.title('Test DTC C1E987 at 0x5E0 in default session')
#     @allure.description('Test DTC C1E987 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_C1E987_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.setSignalEanble(Driver, 'Right_BCM_0x404', False, iStep)
#         time.sleep(6)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x1)
#         logging.info('DTC C1E987:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.setSignalEanble(Driver, 'Right_BCM_0x404', True, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x1)
#         logging.info('DTC C1E987:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     @allure.title('Test DTC C1E382 at 0x5E0 in default session')
#     @allure.description('Test DTC C1E382 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_C1E382_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         Driver['CAN'].set_0x404_rolling_counter_error(True)
#         time.sleep(11)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x2) >> 1
#         logging.info('DTC C1E382:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].set_0x404_rolling_counter_error(False)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x2) >> 1
#         logging.info('DTC C1E382:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     @allure.title('Test DTC C24500 at 0x5E0 in default session')
#     @allure.description('Test DTC C24500 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_C24500_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.setSignalEanble(Driver, 'Media_0x2B6', False, iStep)
#         time.sleep(3)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x4) >> 2
#         logging.info('DTC C24500:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.setSignalEanble(Driver, 'Media_0x2B6', True, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x4) >> 2
#         logging.info('DTC C24500:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     @allure.title('Test DTC C2ED83 at 0x5E0 in default session')
#     @allure.description('Test DTC C2ED83 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_C2ED83_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         Driver['CAN'].set_0x49A_checksum_error(True)
#         time.sleep(11)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x8) >> 3
#         logging.info('DTC C2ED83:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].set_0x49A_checksum_error(False)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x8) >> 3
#         logging.info('DTC C2ED83:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC D0C286 at 0x5E0 in default session')
#     @allure.description('Test DTC D0C286 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_D0C286_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.setSignalEanble(Driver, 'VCU_0x05A', False, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x10) >> 4
#         logging.info('DTC D0C286:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.setSignalEanble(Driver, 'VCU_0x05A', True, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x10) >> 4
#         logging.info('DTC D0C286:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC D27183 at 0x5E0 in default session')
#     @allure.description('Test DTC D27183 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_D27183_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         Driver['CAN'].set_0x05A_checksum_error(True)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x20) >> 5
#         logging.info('DTC D27183:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].set_0x05A_checksum_error(False)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x20) >> 5
#         logging.info('DTC D27183:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC D27182 at 0x5E0 in default session')
#     @allure.description('Test DTC D27182 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_D27182_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         Driver['CAN'].set_0x05A_rolling_counter_error(True)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x40) >> 6
#         logging.info('DTC D27182:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].set_0x05A_rolling_counter_error(False)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x40) >> 6
#         logging.info('DTC D27182:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC C19780 at 0x5E0 in default session')
#     @allure.description('Test DTC C19780 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_C19780_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.setSignalEanble(Driver, 'IPB_0x10C', False, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x80) >> 7
#         logging.info('DTC C19780:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.setSignalEanble(Driver, 'IPB_0x10C', True, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[4] & 0x80) >> 7
#         logging.info('DTC C19780:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC 5C6462 at 0x5E0 in default session')
#     @allure.description('Test DTC 5C6462 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_5C6462_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         Driver['CAN'].set_0x10C_checksum_error(True)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x1)
#         logging.info('DTC 5C6462:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].set_0x10C_checksum_error(False)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x1)
#         logging.info('DTC 5C6462:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC 5C6302 at 0x5E0 in default session')
#     @allure.description('Test DTC 5C6302 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_5C6302_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         Driver['CAN'].set_0x10C_rolling_counter_error(True)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x2) >> 1
#         logging.info('DTC 5C6302:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].set_0x10C_rolling_counter_error(False)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x2) >> 1
#         logging.info('DTC 5C6302:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC 5C6286 at 0x5E0 in default session')
#     @allure.description('Test DTC 5C6286 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_5C6286_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#         iStep = self.setSignalValue(Driver, 'IPB_0x222', 'Yaw_Rate_Signal_S', 2.096, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x4) >> 2
#         logging.info('DTC 5C6286:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.setSignalValue(Driver, 'IPB_0x222', 'Yaw_Rate_Signal_S', 0, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x4) >> 2
#         logging.info('DTC 5C6286:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC C13400 at 0x5E0 in default session')
#     @allure.description('Test DTC C13400 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_C13400_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#         iStep = self.setSignalEanble(Driver, 'EPS_0x06D', False, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x8) >> 3
#         logging.info('DTC C13400:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.setSignalEanble(Driver, 'EPS_0x06D', True, iStep)
#         time.sleep(1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x8) >> 3
#         logging.info('DTC C13400:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC C42083 at 0x5E0 in default session')
#     @allure.description('Test DTC C42083 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_C42083_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#         Driver['CAN'].set_0x06D_checksum_error(True)
#         time.sleep(0.1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x10) >> 4
#         logging.info('DTC C42083:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].set_0x06D_checksum_error(False)
#         time.sleep(0.1)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x10) >> 4
#         logging.info('DTC C42083:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     @allure.title('Test DTC C42082 at 0x5E0 in default session')
#     @allure.description('Test DTC C42082 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_C42082_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#         Driver['CAN'].set_0x06D_rolling_counter_error(True)
#         time.sleep(0.5)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x20) >> 5
#         logging.info('DTC C42082:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         Driver['CAN'].set_0x06D_rolling_counter_error(False)
#         time.sleep(0.5)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x20) >> 5
#         logging.info('DTC C42082:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC D01786 at 0x5E0 in default session')
#     @allure.description('Test DTC D01786 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_D01786_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#         iStep = self.setSignalValue(Driver, 'EPS_0x06D', 'Steering_Wheel_Angle_S', 780, iStep)
#         time.sleep(0.5)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x40) >> 6
#         logging.info('DTC D01786:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         iStep = self.setSignalValue(Driver, 'EPS_0x06D', 'Steering_Wheel_Angle_S', 0, iStep)
#         time.sleep(0.5)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[5] & 0x40) >> 6
#         logging.info('DTC D01786:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#     # @allure.title('Test DTC ACEE00 at 0x5E0 in default session')
#     # @allure.description('Test DTC ACEE00 at 0x5E0 in default sessionin with physical addressing')
#     # @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     # def test_DTC_ACEE00_in5E0_default_Phy(self, action, Driver):
#     #     iStep = 1
#     #     iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#     #     iStep = self.setSignalValue(Driver, 'EPS_0x06D', 'Steering_Wheel_Angle_S', 780, iStep)
#     #     time.sleep(0.5)
#     #     iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#     #     respData = self.read_Data_from5E0(Driver)
#     #     MRR_Value = (respData[5] & 0x80) >>7
#     #     logging.info('DTC ACEE00:[{0}]'.format(MRR_Value)) 
#     #     with assume: assert MRR_Value == 1

#     #     iStep = self.setSignalValue(Driver, 'EPS_0x06D', 'Steering_Wheel_Angle_S', 0, iStep)
#     #     time.sleep(0.5)
#     #     iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#     #     respData = self.read_Data_from5E0(Driver)
#     #     MRR_Value = (respData[5] & 0x80) >> 7
#     #     logging.info('DTC ACEE00:[{0}]'.format(MRR_Value)) 
#     #     with assume: assert MRR_Value == 0

#     #     iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     # @allure.title('Test DTC D11886 at 0x5E0 in default session')
#     # @allure.description('Test DTC D11886 at 0x5E0 in default sessionin with physical addressing')
#     # @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     # def test_DTC_D11886_in5E0_default_Phy(self, action, Driver):
#     #     iStep = 1
#     #     iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
#     #     iStep = self.setSignalEanble(Driver, 'MPC_0x374', False, iStep)
#     #     iStep = self.setSignalEanble(Driver, 'MPC_0x295', False, iStep)
#     #     time.sleep(0.8)
#     #     iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#     #     respData = self.read_Data_from5E0(Driver)
#     #     MRR_Value = (respData[5] & 0x1)
#     #     logging.info('DTC D11886:[{0}]'.format(MRR_Value)) 
#     #     with assume: assert MRR_Value == 1

#     #     iStep = self.setSignalEanble(Driver, 'MPC_0x374', True, iStep)
#     #     iStep = self.setSignalEanble(Driver, 'MPC_0x295', True, iStep)
#     #     time.sleep(0.5)
#     #     iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#     #     respData = self.read_Data_from5E0(Driver)
#     #     MRR_Value = (respData[5] & 0x1)
#     #     logging.info('DTC D11886:[{0}]'.format(MRR_Value)) 
#     #     with assume: assert MRR_Value == 0

#     #     iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

    
#     @allure.title('Test DTC ACE876 at 0x5E0 in default session')
#     @allure.description('Test DTC ACE876 at 0x5E0 in default sessionin with physical addressing')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     def test_DTC_ACE876_in5E0_default_Phy(self, action, Driver):
#         iStep = 1
#         iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)

#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[6] & 0x3)
#         logging.info('DTC ACE876:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 0

#         #产生故障
#         iStep = self.Injection_DTC(Driver, 'SensorBlindnessDet', -1, iStep, True)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[6] & 0x3)
#         logging.info('DTC ACE876:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 1

#         #清除故障
#         iStep = self.Injection_DTC(Driver, 'SensorBlindnessDet', 0, iStep, True)
#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '19 02 09', '59 02', 0, iStep)
#         respData = self.read_Data_from5E0(Driver)
#         MRR_Value = (respData[6] & 0x3)
#         logging.info('DTC ACE876:[{0}]'.format(MRR_Value)) 
#         with assume: assert MRR_Value == 2

#         iStep, uds_resp, size = Driver['CAN'].checkReqResp(Driver, '14 FF FF FF', '54', 0, iStep)
		
    
    
#     '''内部函数'''
#     def read_Data_from5E0(self, Driver):
#         # 打开原始点
#         Driver['CAN'].send_Frame(0x300,[0x31, 0x58, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00],'CAN')
#         time.sleep(0.2)
#         Driver['CAN'].send_Frame(0x200,[0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],'CAN')
#         time.sleep(0.2)
#         Driver['CAN'].fush_q_buff()  # 清缓存  
#         time.sleep(0.2)
#         for i in range(3):
#             ALl_data,buffer_size = Driver['CAN'].read_frame()
#             try:
#                 response_data = ALl_data[ALl_data['AIdentifier'] == 0x5E0]
#                 respData = response_data.iloc[0]['ADatas'][:16]
#             except:
#                 respData = [0]
#             if len(respData) > 10:
#                 break
#             time.sleep(0.2)
        
#         actuRespStr = binascii.b2a_hex(bytearray(respData), ' ') 
#         logging.info('P_CAN responseID:[0x{0:X}], Data:[{1}]'.format(0x5E0, actuRespStr)) 

#         # 关闭原始点
#         Driver['CAN'].send_Frame(0x300,[0x31, 0x58, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00],'CAN')
#         Driver['CAN'].send_Frame(0x200,[0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],'CAN')

#         return respData


#     '''设置信号使能状态'''
#     def setSignalEanble(self, Driver, message, status, iStep):
#         with allure.step(f'Step{iStep}: set the {message} status to {status}'):
#             Driver['CAN'].Enable_rbs_message('MRR','ADC', message, status)
#         iStep += 1
#         return iStep


#     '''设置信号值'''
#     def setSignalValue(Self, Driver, message, signal, value, iStep):
#         with allure.step(f'Step{iStep}: set the value of the {signal} in {message} to {value}'):
#             Driver['CAN'].write_db_signal('MRR','ADC', message, signal, value)
#             time.sleep(0.2)
#             iStep += 1
#             readValue = Driver['CAN'].read_db_signal('MRR','ADC', message, signal)
#         return iStep

    
#     def Injection_DTC(self, Driver, dtcName, generate = -1, iStep = 1, isE976 = False):

#         iStep = Driver['CAN'].setVariantCodeDet(Driver,dtcName, generate, iStep)
#         time.sleep(0.5)
#         if (dtcName == 'SensorBlindnessDet') and (isE976 == True):
#             if generate == -1 :
#                 # 要求行驶里程大于5公里
#                 Driver['CAN'].write_db_signal('MRR', 'ADC', 'Left_BCM_0x3D9', 'Total_Distance_3D9s5_S',10)
#                 Driver['CAN'].write_db_signal('MRR', 'ADC', 'IPB_0x10C', 'Vehicle_speed', 20)
#                 Driver['CAN'].read_db_signal('MRR', 'ADC', 'IPB_0x10C', 'Vehicle_speed')
#                 time.sleep(1)
#                 Driver['CAN'].write_db_signal('MRR', 'ADC', 'Left_BCM_0x3D9', 'Total_Distance_3D9s5_S',16)
#                 time.sleep(0.5)
#             else:
#                 Driver['CAN'].write_db_signal('MRR', 'ADC', 'Left_BCM_0x3D9', 'Total_Distance_3D9s5_S',0)
#                 Driver['CAN'].write_db_signal('MRR', 'ADC', 'IPB_0x10C', 'Vehicle_speed', 0)
#                 Driver['CAN'].read_db_signal('MRR', 'ADC', 'IPB_0x10C', 'Vehicle_speed')
#         time.sleep(0.5)
#         iStep = iStep + 1

#         return iStep